package com.gtq.uhome.mapper;

import com.gtq.uhome.pojo.Consignee;
import com.gtq.uhome.vo.OrderOneToThree;
import com.gtq.uhome.vo.UserInfo;
import com.gtq.uhome.vo.UserOrderInfor;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author ylhy
 * @Describe  用于总后台用户管理的相关操作
 * @create 2020-07-31 12:57
 */
public interface UserInfoMapper {
    /**
     * 查询所有用户信息
     * @return 用户信息
     */
    public List<UserInfo> findAll();


    /**
     * 查询指定的一条用户信息
     * @return UserInfo 用户信息
     */
    public UserInfo findOneById(@Param("userId") Integer userId);

    /**
     *  模糊查询: 用户名/电话 状态 站点数字
     * @return
     */
    List<UserInfo> findByLike(@Param("keyWord") Object keyWord, @Param("freezeStatus") Object freezeStatus, @Param(
            "siteName") Object siteName);

    /**
     *  批量冻结   通过id冻结 需要冻结的表有  user表中的指定id的user数据
     * @param id
     * @return
     */
     Integer freezeGroupByid(@Param("id") Integer id, @Param("freezeStatus") String freezeStatus);

    /**
     *  查询userId的收货人列表
     * @param userId
     * @return
     */
     List<Consignee> findUserConsignee(@Param("userId") Integer userId);

    /**
     *  通过用户的id查询用户的订单列表
     * @param userId
     * @return
     */
    List<UserOrderInfor> OneUserOrderInfor(@Param("userId") Integer userId);


    /**
     * 查询所有用户的订单(物流单)libiao
     * @param
     * @return
     */
    List<UserOrderInfor> AllUserOrderInfor();

    /**
     *  以物流单号分组,查看当前物流单的用户商品列表
     * @param logisticsId
     * @return
     */
    OrderOneToThree OneToThree(@Param("logisticsId") Object logisticsId);


//    UserOrderList()


}
